package main

import "fmt"


// 二分查找
func findVal(sclice []int, leftInx int, rightIdx int, val int)  {
	if leftInx > rightIdx {
		fmt.Println("没有符合要求的数据")
		return
	}

	middleIdx := (leftInx + rightIdx) / 2

	if val > sclice[middleIdx]{
		// 在右边
		findVal(sclice, middleIdx + 1, rightIdx, val)
	} else if val < sclice[middleIdx] {
		// 在左边
		findVal(sclice, leftInx, middleIdx - 1, val)
	} else {
		// 在中间
		fmt.Printf("找到了，下标是%v\n", middleIdx)
	}
}

func main()  {
	sclice := []int{1,3,12,55,78,555,965,1202,3636}
	findVal(sclice, 0, 8, 12012)
}